ML-李宏毅-Lecture 8-Auto-encoder Anomaly Detection

李宏毅《机器学习2022》课程学习笔记。

Preparation

【機器學習 2021】自編碼器 -Auto-encoder- -上- – 基本概念

png

Auto-encoder 也可算作是 Self-supervising Learning(又叫做 Pre-train,经过 Fine-tune 后模型就可已处理 Downstream Tasks)的一环(尽管它出现的比 Self-supervised Learning 更早)

png

Ontline

  • Basic ldea of Auto-encoder
  • Feature Disentanglement 解缠
  • Discrete Latent 潜在 Representation 表示
  • More Applications
png

high dim 的 old feature 经过 NN Encoder 后得到 low dim 的 Vector,再经过 NN Decoder 后得到新的图片,要求新的图片与旧的图片尽可能相近(重建 reconstruction)。

png

Auto-Encoder 可以用在 Dimension Reduction 中,这并不基于 DL。

png

降维:假设高维的图像就这么几种变换(樊一翁的胡子),则可用低维向量把它们标记出来(樊一翁的头)。

png png

早期的 Auto-encoder

png

De-noising Auto-encoder 是 Auto-encoder 的一个部分,用于图像降噪。

png

BERT 似乎也是一种 De-Noising Auto-Encoder,把 Mask 的部分当作 noise 来看。

【機器學習 2021】自編碼器 -Auto-encoder- -下- – 領結變聲器與更多應用

png

Encoder 产生的低维向量包含着源文件的特征信息。

Feature Disentangle

png

Feature Disentangle:把声音中产生的向量中的内容和音色的信息分离出来。

png png

Feature Disentangle 的应用:Voice Conversion。

Speakers A and B are talking about completely different things.

png

Discrete Representation

png

把 Encoder 出来的向量用离散形式表示。

png

把 Encoder 出来的向量与 Codebook 中的向量比较,找出一个最接近的向量作为输入给 Decoder,以找到某些关键特征。

For speech, the codebook represents phonetic 语音 information 信息

png

把 Auto-Encoder 用在 Unsupervised Summarization 会不成功,因为产生的 word sequence 只有 Decoder 能看懂。

png

需要一个 Decoder 控制输出的 Summary 像个人样。

png png png

还可以把信息存在一个树中。

More Applications

Generator

png

把后一半部分拿出来当作 Generator。With some modification, we have variational auto-encoder (VAE).

png

Anomaly Detection

png

给一个训练集 {x1,x2,...,xN}\{x^1,x^2,...,x^N\},判断输入 xx 是否与训练集中的数据相似。

png png

与二分类问题不同的是,数据集中并没有 anomaly 的数据

应用:

  • 欺诈检测(正常刷卡行为/盗刷)
  • 网络攻击检测(正常连线/攻击行为)
  • 癌细胞检测(正常细胞/癌细胞)
png

是 normal 就可以 reconstructed。

png

如果是 anomaly,就不能被 Decoder 所 reconstructed。

Anomaly Detection

png

让机器"知之为知之,不知为不知,是知也"

png

给一个训练集 {x1,x2,...,xN}\{x^1,x^2,...,x^N\},判断输入 xx 是否与训练集中的数据相似。

png

异常样本 x~\tilde x 较少,不能把异常检测简单当作 Binary Classification 来看。

png png png png

设计一个分类器,对于输入 xx,输出分类 yy 和自信评分 cc

异常检测函数:

f(x)={normal,c(x)>λanomaly,c(x)λf(x)=\left\{ \begin{matrix}normal,c(x)>\lambda\\anomaly,c(x)\le\lambda\end{matrix}\right.

png png png

对于异常信息,自信评分分布会比较平均。

png png png

使用正确率评价异常检测不合理,因为异常的样本很少。一个机器什么都不做也可能获得高准确率。

png

给误判设定更大的惩罚:Cost Table

png png

可能出现的问题,一些特定的异常图像获得很高的自信评分。

png png

无标签的异常检测:找“Troll”

png png png png

根据最大似然法找到异常分布的数据。

png png

等高线就是 λ\lambda

png png png

使用 Auto-encoder,根据是否能 reconstruction 判断是否异常。

png

SVM 和 Isolated Forest 也可用于异常检测

png